第 1 步 - 渲染汽车和大灯
在教程的这一步骤中,您将分别创建需要用于渲染汽车和大灯的渲染通道。
教程资产
本教程的起点资料是存储在 <KanziWorkspace>/Tutorials/Bloom/Start 目录中的 Bloom.kzproj Kanzi Studio 工程文件。
您在本教程中使用的资产存储在 <KanziWorkspace>/Tutorials/Bloom/Assets 目录中。
<KanziWorkspace>/Tutorials/Bloom/Completed 目录包含本教程已完成的 Kanzi Studio 工程。
渲染场景
本节中,您将创建渲染通道以渲染整个场景。
要渲染场景:
- 在 Kanzi Studio 中打开存储在 <KanziWorkspace>/Tutorials/Bloom/Start 目录中的工程。
-
In the 素材库 (Library) 按下 Alt 并右键点击 渲染 (Rendering), and select Compose and Blit Pass.
Compose and Blit Pass template contains the render pass structure that enables you to blit to the screen 合成目标渲染通道 (Composition Target Render Pass) render passes or textures using a specific material. The template contains these render passes:- 合成目标渲染通道 (Composition Target Render Pass) 将自身及其子渲染通道渲染成合成目标。
- 清除渲染通道 (Clear Render Pass) clears some or all of the buffers of the current render context. By default the 清除渲染通道 (Clear Render Pass) in the Compose and Blit Pass template clears the color buffer with transparent black color and the depth buffer with value 1.
For example, to clear the color buffer with a different color, set the 清除颜色 (Clear Color) property to the color that you want to use as the background color of the content that Kanzi renders to the 合成目标渲染通道 (Composition Target Render Pass). - 绘图对象渲染通道 (Draw Objects Render Pass) allows you to set a 摄像机 (Camera) node to render a specific object source and to control frustum culling. By default the 绘图对象渲染通道 (Draw Objects Render Pass) uses the default 摄像机 (Camera) node to render all nodes in a 场景 (Scene) node.
- 位块传送渲染通道 (Blit Render Pass) 使用某种特定材质在屏幕上位块传送一个或多个渲染通道或纹理。 By default this 位块传送渲染通道 (Blit Render Pass) draws on the screen the content rendered by the 合成目标渲染通道 (Composition Target Render Pass).
- In the 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) select the Compose and Blit Pass render pass, press F2, and rename it to Bloom.
使用渲染通道收集在这个过程中创建的多个渲染通道,合并后会渲染汽车并应用全屏泛光效果到大灯。
- In the 素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Bloom render pass rename:
- 合成目标渲染通道 (Composition Target Render Pass) to Render Scene
合成目标渲染通道 (Composition Target Render Pass) 将自身及其子渲染通道渲染成合成目标。使用此渲染通道将场景 (Scene) 节点汽车 (car) 渲染为合成目标,稍后将用作渲染通道的输入,以仅选取大灯。 - 位块传送渲染通道 (Blit Render Pass) to Show Scene
位块传送渲染通道 (Blit Render Pass) 使用某种特定材质在屏幕上位块传送一个或多个渲染通道或纹理。 您使用此渲染通道在屏幕上绘制 Render Scene 渲染通道,由它渲染 场景 (Scene) 节点 汽车 (car) 的内容。
- 在工程 (Project) 中选择RootPage > 汽车 (Car) > 汽车 (car) 节点,并在属性 (Properties) 中将渲染通道 (Render Pass) 属性设为Bloom。
Kanzi Studio 使用Bloom 渲染通道渲染场景 (Scene) 节点 汽车 (car)。
渲染大灯
在本节中,您将创建仅需渲染汽车大灯的渲染通道和材质,稍后将对大灯应用全屏泛光效果。
要渲染大灯:
- 在素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Bloom 中创建组渲染通道 (Group Render Pass) 并将其命名为 Render Bloom。
- 在素材库 (Library) 中右键点击 材质和纹理 (Materials and Textures),选择从磁盘加载材质类型 (Load Material Type From Disk),转到 <KanziWorkspace>/Tutorials/Bloom/Assets 并加载 BloomThreshold.kzmat 材质类型。
Kanzi Studio 添加BloomThreshold 材质类型并创建 BloomThresholdMaterial 材质,该材质仅支持渲染比特定阈值更明亮的区域。
BloomThreshold 材质类型的片段着色器:- 将小于等于阈值的颜色值映射到 0。
- 将大于等于阈值的颜色值映射到当颜色值接近 1 时接近 1 的三次方程。
- 在素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Bloom > Render Bloom 中创建位块传送渲染通道 (Blit Render Pass),将其命名为Blit Bloom Threshold 并在属性 (Properties) 中添加并设置:
- Texture0 为Render Scene
- 材质 (Material) 为BloomThresholdMaterial
- Threshold 为 0.8
使用此渲染通道在屏幕上仅绘制比Threshold 属性值更明亮的汽车 (car) 节点区域。稍后将对这些区域应用高斯模糊,以创建全屏泛光效果。
- 在素材库 (Library) > 渲染 (Rendering) > 渲染通道 (Render Passes) > Bloom > Render Bloom 中创建 合成目标渲染通道 (Composition Target Render Pass),命名为 Bloom Threshold,并将Blit Bloom Threshold 渲染通道拖到Bloom Threshold 渲染通道。
使用Bloom Threshold 渲染通道将Blit Bloom Threshold 渲染通道渲染为合成目标,稍后将用作应用全屏泛光效果的渲染通道的输入。因为 Kanzi 将Blit Bloom Threshold 渲染通道渲染为合成目标,预览 (Preview) 不会对其进行显示。
< 简介
下一步 >
另请参阅
要详细了解有关 Kanzi 中渲染通道的信息,请参阅渲染。
要详细了解关于材质和材质类型的信息,请参阅材质类型和材质。
打开导航